<?php
/**
 * RAI数据传输格式定义接口
 *
 * @version $Id: RaiFormat.php 312 2008-04-23 16:29:38Z iwind $
 * @package net.4kiki.rai.format
 * @since 0.0.3
 */
interface RaiFormat {
	/**
	 * 解码请求
	 *
	 * @param string $data 请求编码后的字符串
	 * @return RaiRequest
	 */
	public function decodeRequest($data);
	
	/**
	 * 编码请求
	 *
	 * @param RaiRequest $request 请求数据对象
	 * @return string
	 */
	public function encodeRequest(RaiRequest $request);
	
	/**
	 * 解码响应
	 *
	 * @param string $data 响应编码后的字符串
	 * @return RaiResponse
	 */
	public function decodeResponse($data);
	
	/**
	 * 编码响应
	 *
	 * @param RaiResponse $response 响应数据对象
	 * @return string
	 */
	public function encodeResponse(RaiResponse $response);
	
	/**
	 * 取得内容类型
	 * 
	 * 如 text/xml，text/plain
	 *
	 * @return string
	 */
	public function getContentType();
}

?>